var FHbillID=0;  //发货单主表主键
var BarCode=0;   //打卷细码单编号
var lastBarCode=0;   //第一次打开页面时获取微信端选择了确定，但没有上车数据的细码单号
var parameter = getRequest();
var openid = parameter['openid'];//参数名

//初始化
$(function () {

    $("#clien").textbox({disabled: true});
    $("#pm").textbox({disabled: true});
    $("#bpgg").textbox({disabled: true});
    $("#ylgg").textbox({disabled: true});

    console.log('FH:'+ openid);

    getlastFHQty();

    getdropdownData();

    //输入卡号的回车确定事件
        $('#kh').textbox('textbox').keydown(function (e) {
            if (e.keyCode == 13) {
                console.log("回车事件！");
                openplanrkdetail($("#kh").textbox('getValue'));
                // $("#kh").textbox('setValue', "");
            }
        });

    //网格的单击事件
    $('#detail01').datagrid({
    //单击事件   
        onClickRow:function(rowIndex,rowData){
            var currentRow = $("#detail01").datagrid("getSelected");//获得选中行的信息
             BarCode=currentRow.b_barcode;
            console.log(BarCode);
            getbarcodedetail(BarCode);
        },
    //双击事件
    //     onDblClickRow :function(rowIndex,rowData){
    //         console.log("双击");
    //     }
    });

    GetintoCaoDetail();



});

//查询
function getquery() {
    openplanrkdetail($("#kh").textbox('getValue'));
}


//根据卡号获取所有对应的白坯库存数据  第一个网格
function openplanrkdetail(id) {

    console.log(strLin + '/spc/getInvByKH/'+ id);

    $.ajax({
        url: strLin + '/spc/getInvByKH/'+ id,
        type: 'get',
        dataType: 'json',
        success: function (cdata) {
            let data=cdata.data;
            if (data.length>0){
                $("#clien").textbox('setValue', data[0].b_clientname);
                $("#pm").textbox('setValue', data[0].b_pinming);
                $("#ylgg").textbox('setValue', data[0].b_ylgg);
                $("#bpgg").textbox('setValue', data[0].bpgg);
            }else {
                $("#clien").textbox('setValue', '');
                $("#pm").textbox('setValue', '');
                $("#ylgg").textbox('setValue', '');
                $("#bpgg").textbox('setValue', '');
            }

            $('#detail01').datagrid('loadData', data);
            BarCode=0;
            getbarcodedetail(BarCode);

        }
    })
}


//根据入库的码单编号获取对应的库存数据  第二个网格
function getbarcodedetail(barCode) {

    console.log(strLin+'/fh/inv/'+barCode);

    $.ajax({
        url: strLin+'/fh/inv/'+barCode,
        type: 'get',
        dataType: 'json',
        success: function (cData) {
            let data = cData.data;
            $('#detail02').datagrid('loadData', data);
            console.log(data);

        }, complete: function (XMLHttpRequest, textStatus) {
            console.log("进入到getbarcodedetail");
        }

    })

}

//获取选中行数据  上车
function intocar() {

    var checkedItems = $('#detail02').datagrid('getChecked');
    var jrkdetail = [];
    var ps=0;
    var qty=0;
    var pm=$("#pm").textbox('getValue');
    var bpgg=$("#bpgg").textbox('getValue');
    var ylgg=$("#ylgg").textbox('getValue');
    var planID;

    $.each(checkedItems, function(index, item){
        jrkdetail.push(item.B_ItemID);
        ps++;
        qty=qty + item.B_GJ;
        planID=item.B_ID;
    });

    if (ps==0){
        return;
    }

    // console.log(jrkdetail);
    // alert(ps);
    // alert(qty);
    if (FHbillID>0){

        var str= {"main":{"iD":FHbillID,"openid":openid},
                  "details":[{"fhDetail":{"pS":ps,"qty":qty,"pinMing":pm,"menFu":bpgg,"ylgg":ylgg,
                    "xMbarCode":BarCode,"jHDid":planID},
                "jrkPKs":jrkdetail}],"account":openid};
        // console.log(str1);
        $.ajax({
            url: strLin + '/fh/pcIntoCard',
            type: 'post',
            dataType: 'json',
            data: JSON.stringify(str),
            contentType: "application/json;charset=UTF-8",
            success: function (data) {
                BarCode=0;
                GetintoCaoDetail(); //3
                openplanrkdetail($("#kh").textbox('getValue')); //1
                getbarcodedetail(BarCode); //2
            }
        });

    }else{
        var str1= {"details":[{"fhDetail":{"pS":ps,"qty":qty,"pinMing":pm,"menFu":bpgg,"ylgg":ylgg,
                    "xMbarCode":BarCode,"jHDid":planID},
                "jrkPKs":jrkdetail}],"account":openid};
        // console.log(str1);
        $.ajax({
            url: strLin + '/fh/pcIntoCard',
            type: 'post',
            dataType: 'json',
            data: JSON.stringify(str1),
            contentType: "application/json;charset=UTF-8",
            success: function (data) {
                BarCode=0;
                GetintoCaoDetail(); //3
                openplanrkdetail($("#kh").textbox('getValue')); //1
                getbarcodedetail(BarCode); //2
            }
        });
    }

}

//获取已发汇总的数据  第三个网格
function GetintoCaoDetail() {
    console.log(strLin+'/fh/intoCarDetail/' + openid +'/'+ 1);
    $.ajax({
        url: strLin+'/fh/intoCarDetail/' + openid +'/'+ 1,
        // + "call usp_GetIntoCarDetail('" + openid + "','" + JudgeMa + "')",
        type: 'get',
        dataType: 'json',
        success: function (data) {
            if (data.data.length>0) {
                console.log(data.data[0].id);
                FHbillID = data.data[0].id;
                $('#detail03').datagrid('loadData', data.data);
                console.log("草稿表主键：" + FHbillID)
            }else{
                var NullData=[];
                FHbillID = 0;
                $('#detail03').datagrid('loadData', NullData);
                console.log("请求返回为空时草稿表主键：" + FHbillID)
            }
        }, complete: function (XMLHttpRequest, textStatus) {
            // console.log("进入到complete");
        }

    })
}


//删除已发货汇总中的某一行数据 并恢复对应的库存数  删除第三个网格数据
function DeleteFHdetail() {
    $.messager.defaults = {ok: "确定", cancel: "取消", width: 250, closable: false};
    $.messager.confirm('确认', '您确认要删除当前选中的已发货数据吗？ ', function (r) {
        if (r) {
            var currentRow = $("#detail03").datagrid("getSelected");//获得选中行的信息
            if (currentRow != undefined) {

                $.ajax({
                    url: strLin+'/incar/deleteone/' + currentRow.itemid,
                    type: 'DELETE',
                    dataType: 'json',
                    success: function (data) {
                        GetintoCaoDetail();
                        openplanrkdetail($("#kh").textbox('getValue'));
                        getbarcodedetail('')
                    }
                });
            } else {
                $.messager.alert('确认', '当前没有选中数据!');
                return;
            }
        }
    })
}


//整单发货上车  OK
function getintocarAll() {
    $.messager.defaults = {ok: "确定", cancel: "取消", width: 250, closable: false};
    $.messager.confirm('确认', '确定整单选择发货上车？ ', function (r) {
        if (r) {
            console.log(strLin+'/fh/intoCarAll/'+BarCode +'/'+openid + '/'+FHbillID);
            $.ajax({
                url: strLin+'/fh/intoCarAll/'+BarCode +'/'+openid + '/'+FHbillID,
                // + "call usp_GetIntoCarAll('" + barCode + "','" + openid + "','"+ FHbillID + "')",
                type: 'get',
                dataType: 'json',
                success: function (data) {
                    console.log(data.data.id);
                    FHbillID=data.data.id;
                    BarCode=0;
                    GetintoCaoDetail();
                    openplanrkdetail($("#kh").textbox('getValue'));
                    getbarcodedetail(BarCode);

                }, complete: function (XMLHttpRequest, textStatus) {}

            })
        }
    })
}


//生成发货单
function generateFHD01(){

    var clientname=$('#clien02').val().toString();
    var rcname=$('#rc').val().toString();
    if (clientname.length>0){
        if (rcname.length>0){
            $.messager.defaults = {ok: "确定", cancel: "取消", width: 250, closable: false};
            $.messager.confirm('确认', '您确认要生成发货单吗？ ', function (r) {
                if (r) {
                    generateFHD()
                }
            })

        }else{
            $.messager.alert('确认','未选择染厂，不允许生成发货单!');
            return;
        }
    }else{
        $.messager.alert('确认','未选择客户，不允许生成发货单!');
        return;
    }

}

//生成发货单 ok
function generateFHD() {

    var clientname=$('#clien02').val().toString();
    var rcname=$('#rc').val().toString();
    var Fma=false;  //判断是分码还是并码

    if (clientname.length>0){
        if (rcname.length>0){

            // if (JudgeMa==1){Fma=true}else{Fma=false};   //2021年4月13日 10:27:52注释

            var carnumber = $("#carnumber").textbox('getValue');
            var driver = $("#driver").textbox('getValue');
            var phone = $("#phone").textbox('getValue');
            var dz = $("#dz").textbox('getValue');
            var zxg = $("#zxg").textbox('getValue');
            var broker = $("#broker").textbox('getValue');

            var StrSQL={mainId:FHbillID,clientName:clientname,dyeName:rcname,dist:Fma,
                number_plates:carnumber,driver:driver,phone:phone,
                delivery_address:dz,stevedore:zxg,broker:broker};

            console.log(StrSQL);

            $.ajax({
                url: strLin+'/incar/deli',
                type: 'POST',
                dataType: 'json',
                data: JSON.stringify(StrSQL),
                contentType: "application/json;charset=UTF-8",
                success: function (data) {

                    window.parent.addTab('打印发货单', 'printfhd.html?id=' + FHbillID);

                    BarCode=0;
                    GetintoCaoDetail(); //3
                    openplanrkdetail($("#kh").textbox('getValue')); //1
                    getbarcodedetail(BarCode); //2

                    $("#clien02").combobox('setValue', "");
                    $("#rc").combobox('setValue', "");
                    $("#carnumber").textbox('setValue', "");
                    $("#driver").textbox('setValue', "");
                    $("#phone").textbox('setValue', "");
                    $("#dz").textbox('setValue', "");
                    $("#zxg").textbox('setValue', "");
                    $("#broker").textbox('setValue', "");



                }, complete: function (XMLHttpRequest, textStatus) {
                    console.log("生成发货单执行完毕！");
                }

            })
            // }
            // })


        }else{
            $.messager.alert('确认','未选择染厂，不允许生成发货单!');
            return;
        }
    }else{
        $.messager.alert('确认','未选择客户，不允许生成发货单!');
        return;
    }

}


/***************************************************************************/

//获取最后一笔发货数据 (第一次打开软件时候调用)  ok
function getlastFHQty() {

    console.log('获取最后一笔发货数据 (第一次打开软件时候调用)');

    $.ajax({
        url: strLin+'/fh/last/' +openid,
        type: 'get',
        dataType: 'json',
        success: function (cdata) {
            let data=cdata.data;
            console.log(data);
            if (data) {

                //第一次打开软件时如果有选择了发货   但未选择上车的数据  自动显示出来
                lastBarCode=data.barcode;
                getPending(lastBarCode);

            }else{

            }
        }, complete: function (XMLHttpRequest, textStatus) {
            console.log("getlastFHQty 执行完毕!");
        }

    })

}

//打开待处理数据 (即微信端选择了确定，单未上车的数据)
function getPending(barcode) {

console.log(strLin+'/fh/getXMD/'+ openid +'/'+ barcode );
    $.ajax({
        url:  strLin+'/fh/getXMD/'+ openid +'/'+ barcode ,
        type: 'get',
        dataType: 'json',
        success: function (cData) {
            let data=cData.data;
            console.log(data);
            $('#intoCardetail').datagrid('loadData', data);
            // setTimeout("getsum04()","1000");

        }, complete: function (XMLHttpRequest, textStatus) {
            console.log("进入到getNoCarDetail");
        }
    });



}

//待处理上车 OK
function getPendingintocar() {
    if (lastBarCode>0){
        $.messager.defaults = {ok: "确定", cancel: "取消", width: 250, closable: false};
        $.messager.confirm('确认', '确定选择上车？ ', function (r) {
            if (r) {
                $.ajax({
                    url: strLin+'/fh/intoCar/'
                        + lastBarCode + '/' + openid + '/' + FHbillID,
                    type: 'get',
                    dataType: 'json',
                    success: function (cdata) {
                        let data=cdata.data;
                        console.log(data.id);
                        FHbillID=data.id;
                        $('#E').window('close');
                        var nullData=[];
                        $('#intoCardetail').datagrid('loadData', nullData);

                        GetintoCaoDetail();

                    }, complete: function (XMLHttpRequest, textStatus) {
                        console.log("上车 getintocar 执行完毕！");
                    }

                })
            }
        })

    }else{
        $.messager.alert('确认','当前没有已确定发货数据!');
        return;
    }

}

/*******************************************************************/

//设置下拉选择
function getdropdownData() {
    //设置客户下拉
    $.ajax({
        url: strLin + '/client/all',
        type: 'get',
        dataType: 'json',
        success: function (cdata) {
            $('#clien02').combobox({
                valueField: 'b_ClientName',
                textField: 'b_ClientName',
                data:cdata.data
            });
        }
    });
    //设置品名下拉
    $.ajax({
        url: strLin + '/dye/all',
        type: 'get',
        dataType: 'json',
        success: function (cdata) {
            $('#rc').combobox({
                valueField: 'dyename',
                textField: 'dyename',
                data:cdata.data
            });
        }
    });

}

//关闭当前标签页事件
function closeTab() {
    window.parent.closeTab();
}

//关闭待处理模态窗
function closeE() {
    $('#E').window('close');
    // var nullData=[];
    // $('#intoCardetail').datagrid('loadData', nullData);
}

//打开待处理模态窗
function openE() {
    $('#E').window('open');
    // var nullData=[];
    // $('#intoCardetail').datagrid('loadData', nullData);
}

/***********************************************************************************/

//获取浏览器地址参数
function getUrlParam(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
    var r = window.location.search.substr(1).match(reg);  //匹配目标参数
    if (r != null) return unescape(r[2]);
    return null; //返回参数值
}

//获取浏览器地址参数（参数为中文）
function getRequest() {
    var url = window.location.search; //获取url中"?"符后的字串
    var theRequest = new Object();
    if (url.indexOf("?") != -1) {
        var str = url.substr(1);
        strs = str.split("&");
        for(var i = 0; i < strs.length; i ++) {
            //就是这句的问题
            theRequest[strs[i].split("=")[0]]=decodeURI(strs[i].split("=")[1]);
            //之前用了unescape()
            //才会出现乱码
        }
    }
    return theRequest;
}

